Cette dépêche est tirée du
journal de llumeao.
Après des mois de silence, voici donc des nouvelles du
projet Sozi.
Souvenez-vous : en décembre 2009, le journal intitulé
Sozi : vers un système de présentation alternatif libre. À l'époque, Sozi n'était qu'un bricolage vite fait, juste pour montrer ce que pourrait être un outil de présentation à la
Prezi, mais libre et utilisant des standards ouverts (SVG et Javascript). Malgré les nombreux encouragements reçus, les retours d'expérience, les propositions d'améliorations et les patches, l'auteur n'avait pas eu la possibilité de revenir sur ce projet pendant plus de six mois.
Réflexions préliminaires
Dans la première incarnation de Sozi, de simples rectangles permettaient de délimiter les vues à parcourir dans le document SVG. L'ordre des vues dépendait de l'ordre de création des rectangles. Pour modifier cet ordre ou insérer une nouvelle vue, il fallait manipuler directement le code XML du document.
D'autre part, des besoins ont été exprimés, comme par exemple le paramétrage de la durée des transitions, le passage automatique d'une vue à la suivante après une durée de notre choix, etc.
Ces deux constats ont amené à réfléchir sur le format des données spécifiques à Sozi et sur l'interface utilisateur nécessaire à la création des présentations. Parmi les candidats pour les formats de données, l'utilisation de
JSON a été envisagée, directement manipulable en Javascript, ou alors plus directement l'ajout d'attributs dans le document SVG lui-même.
Concernant l'interface utilisateur, deux solutions ont été explorées : la première a consisté à développer une extension pour Firefox, mais a été abandonnée. La seconde a consisté à développer une extension pour
Inkscape.
Une extension pour Inkscape
Le mécanisme d'extension d'Inkscape est assez pauvre : pour simplifier, une extension est un simple programme externe (en Python) qui prend en entrée le document courant, le modifie, et le renvoie à Inkscape. Ce fonctionnement me paraissait tout à fait inadapté dans le cas de Sozi, jusqu'à ce que je (re)découvre l'outil de présentation
JessyInk, qui parvient très bien à s'en accommoder.
Pour offrir une interface d'édition adaptée à Sozi, les choix suivants ont été faits :
- Les informations des différentes vues sont matérialisées par des attributs, spécifiques à Sozi, dans le document SVG ;
- Comme dans JessyInk, le script d'animation est incorporé au document. Une présentation se compose ainsi d'un unique fichier facile à distribuer ;
- Pour contourner les limitations des extensions Inkscape, l'outil d'édition ouvre une fenêtre GTK où les propriétés de la vue courante peuvent être saisies.
Une première version officielle
Aujourd'hui, Sozi revient donc avec une première version officielle.
Ce n'est pas encore parfait, mais je l'utilise déjà avec beaucoup de satisfaction dans mon métier d'enseignant.
Comparée à la version de décembre dernier, la gestion des événements a été améliorée :
- Un meilleur respect de la durée des animations : sur un ordinateur un peu lent ou très occupé par d'autres tâches, l'animation pourra être saccadée, mais la durée spécifiée devrait être à peu près respectée ;
- Une meilleure réactivité aux actions de l'utilisateur : les actions de l'utilisateur (aller à la vue suivante, à la vue précédente, au début, à la fin) prennent effet immédiatement sans attendre la fin de l'animation en cours.
De nouvelles fonctionnalités ont été ajoutées :
- Zoomer/dézoomer avec la molette de la souris ;
- Déplacer la page en faisant glisser avec le bouton gauche ;
- Afficher la liste des vues ;
- Passer automatique à la vue suivante au bout d'une durée spécifiée ;
- Choisir parmi différents profils d'accélération/décélération pour passer d'une vue à l'autre.
Je vous invite donc à essayer cette nouvelle version et à me faire part de votre expérience. Pour plus d'informations, vous pouvez visiter le
site officiel de Sozi, dont la partie francophone rassemble la plupart des informations utiles pour débuter.
Pour ceux qui sont intéressés par des astuces techniques avec SVG et Javascript,
quelques billets récents sur mon blog présentent certaines recettes utilisées dans Sozi.